#ifndef _UNDOREDO_INTERFACE_ENUMCELLSCALLBACK_H_
#define _UNDOREDO_INTERFACE_ENUMCELLSCALLBACK_H_

// include
#include "CallBackFunc.h"
#include "UROptimize.h"
#include "OpItem.h"
#include "IConnection.h"

struct EnumURItemsCallBack;
struct EnumIncItemsCallBack;

class MergeAllItems : public EnumIncItemsCallBack
{
public:
	MergeAllItems();
public:
	virtual void operator()(const OpItem& Item);
public:

	std::vector<OpItem>* m_pArrIncreamentOpItem;
};

class SaveCraslIDAndStore: public EnumURItemsCallBack
{
public:
	SaveCraslIDAndStore();
public:
	virtual void operator()(const UROptItem& Item);

public:

	IConnection*	m_pIFConnection;
	IFileStream*		m_pStream;
	IncOptimize*	m_pIncreamentStoreOptimize;
	bool			m_bIncreamentStoreFlag;
};


/////////////////////////////////////////////////////////////////////////////////////////////////////////

#endif // _UNDOREDO_INTERFACE_ENUMCELLSCALLBACK_H_